package stackAndQueue;

public class Demo {
    public static void main(String[] args) {
//        testResizingArrayStack();
//        testStack();
        testQueue();
    }

    public static void testResizingArrayStack() {
        ResizingArrayStack<String> resizingArrayStack = new ResizingArrayStack<String>();
        resizingArrayStack.push("a");
        resizingArrayStack.push("b");
        resizingArrayStack.push("c");
        resizingArrayStack.push("d");
        resizingArrayStack.push("e");
        resizingArrayStack.push("f");
        resizingArrayStack.push("g");
        resizingArrayStack.push("h");
        resizingArrayStack.pop();
        resizingArrayStack.pop();
        resizingArrayStack.pop();
        resizingArrayStack.pop();
        resizingArrayStack.pop();
        resizingArrayStack.pop();
        resizingArrayStack.pop();
        System.out.println(resizingArrayStack.size());
        for (String s : resizingArrayStack) {
            System.out.println(s);
        }
    }

    public static void testStack() {
        Stack<String> stack = new Stack<String>();
        stack.push("a");
        stack.push("b");
        stack.push("c");
        stack.push("d");
        stack.push("e");
        stack.push("f");
        stack.push("g");
        stack.push("h");
        stack.pop();
        stack.pop();
        stack.pop();
        stack.pop();
        stack.pop();
        stack.pop();
        stack.pop();
        System.out.println(stack.size());
        for (String s : stack) {
            System.out.println(s);
        }
    }

    public static void testQueue() {
        Queue<String> queue = new Queue<String>();
        queue.enqueue("a");
        queue.enqueue("b");
        queue.enqueue("c");
        queue.enqueue("d");
        queue.enqueue("e");
        queue.enqueue("f");
        queue.enqueue("g");
        queue.enqueue("h");
        queue.dequeue();
        queue.dequeue();
        queue.dequeue();
        queue.dequeue();
        queue.dequeue();
        queue.dequeue();
        queue.dequeue();
        queue.dequeue();
        queue.dequeue();
        System.out.println(queue.size());
        for (String s : queue) {
            System.out.println(s);
        }
    }
}
